package org.jeecg.modules.zhima.base.common;

/**
 * 枚举了一些常用API操作码
 *
 * @author dingzg
 * @date 2019/4/19
 */
public enum ResultCode implements IErrorCode {
    // 短信发送失败
    SEND_SMS_ERROR(10001, "短信发送失败"),

    // 系统错误状态码
    GENERAL_EXCEPTION(1000, "通用异常"),
    // 该用户已存在
    USER_ALREADY_EXIST(1001, "用户名已存在"),
    // 验证码无效
    CODE_EXPIRE(1002, "验证码无效"),
    // 验证码不正确
    CODE_ERROR(1003, "验证码不正确"),
    // 用户名不存在
    USERNAME_NOT_EXIST(1004, "用户名不存在"),
    // 密码不正确
    PASSWORD_ERROR(1005, "密码不正确"),
    // 没有相关权限
    NOT_AUTH(1006, "没有相关权限"),
    // token无效
    TOKEN_INVALID(1007, "token failure!"),
    // 缺少相应参数
    MISSING_PARAMETER(1008, "参数绑定失败:缺少参数"),
    // 接口请求限制
    REQUEST_LIMIT(1009, "请求频繁,请稍后重试"),
    // refreshToken无效
    REFRESH_TOKEN_INVALID(1010, "认证过期,请重新登录"),


    SUCCESS(0, "操作成功"),
    FAILED(-1, "操作失败"),
    NO_DATA(-2, "未查到相关数据"),
    VALIDATE_FAILED(1001, "参数检验失败"),
    BUSINESS_ERROR_PARAM(1002, "参数异常"),
    BUSINESS_ERROR(2001, "业务校验失败"),
    BUSINESS_ERROR_NO_ORDER(2002, "未知订单"),
    UNAUTHORIZED(401, "暂未登录或token已经过期"),
    FORBIDDEN(403, "没有相关权限"),
    SC_INTERNAL_SERVER_ERROR_500(500, "系统异常");

    private int code;
    private String message;

    private ResultCode(int code, String message) {
        this.code = code;
        this.message = message;
    }

    @Override
    public int getCode() {
        return code;
    }
    @Override
    public String getMessage() {
        return message;
    }
}
